#include "trap.h"
#include "basic_test.h"
    .set noat
    .globl main
    .text
main:
    SLLV_TEST(0xffff, 0xffff, 0x24ac, 0x79b4)
    SLLV_TEST(0x0000, 0x0000, 0x210c, 0x4488)
    SLLV_TEST(0x7fff, 0xffff, 0x7fff, 0xffff)
    SLLV_TEST(0x8000, 0x0000, 0x8000, 0x0000)
    SLLV_TEST(0x2a19, 0xdd40, 0xa879, 0x71e0)

    SRAV_TEST(0x7fff, 0xffff, 0x7fff, 0xffff)
    SRAV_TEST(0x8000, 0x0000, 0x8000, 0x0000)
    SRAV_TEST(0xeca4, 0x85a1, 0x0000, 0x0001)
    SRAV_TEST(0x2a19, 0xdd40, 0xa879, 0x71e0)
    SRAV_TEST(0xe4b6, 0x2124, 0x6f17, 0x72b8)
    SRAV_TEST(0x0000, 0x0000, 0x210c, 0x4488)

    SRLV_TEST(0x7fff, 0xffff, 0x7fff, 0xffff)
    SRLV_TEST(0x8000, 0x0000, 0x8000, 0x0000)
    SRLV_TEST(0xeded, 0xedee, 0xeded, 0xedee)
    SRLV_TEST(0x2890, 0xffb0, 0x45d5, 0xeda8)
    SRLV_TEST(0x0000, 0x0008, 0x555b, 0x05c6)

    SLL_TEST(0x8000, 0x0000, 0x17)
    SLL_TEST(0x7fff, 0xffff, 0x1f)
    SLL_TEST(0x2890, 0xffb0, 0x05)
    SLL_TEST(0x210c, 0x4488, 0x00)
    SLL_TEST(0xeabb, 0xbbac, 0x0f)

    SRA_TEST(0x7fff, 0xffff, 0x1f)
    SRA_TEST(0x8000, 0x0000, 0x0f)
    SRA_TEST(0xeabb, 0xbbac, 0x0f)
    SRA_TEST(0x8d54, 0xa866, 0x18)
    SRA_TEST(0x210c, 0x4488, 0x00)

    SRL_TEST(0x42ad, 0xf91d, 0x10)
    SRL_TEST(0x7fff, 0xffff, 0x1f)
    SRL_TEST(0x8000, 0x0000, 0x17)
    SRL_TEST(0xeded, 0xedee, 0x0b)
    SRL_TEST(0x0000, 0x0001, 0x02)
    HIT_GOOD_TRAP		# stop temu